export default function(app) {
  app.factory('ajaxInterceptor', ajaxInterceptor);

  function ajaxInterceptor($q, $rootScope) {
    'ngInject';
    return {
            response: function(response) {
              return response;
           },
           responseError: function(rejection) {
            console.log(rejection);
            let data = rejection.data;
            if (data.errorCode == '00100001') { // 没有登陆
              $rootScope.isLogined = false;
              // 清空用户本地token存储的信息
              localStorage.removeItem('userInfo');
              // 全局事件，方便其他view获取该事件，并给以相应的提示或处理
              $rootScope.$emit("ajaxIntercepted","notLogin",response);
              $state.go('login');
            } else if (data.errorCode == '00100002') { // 没有权限
              layer.alert(data.message);
            } else {
              layer.alert('服务器错误');
            }
            return $q.reject(response);
           }
      };
  }
};
